NotionのデータベースオートメーションからHubSpotにWebhookを送信してみた

NotionのデータベースオートメーションからHubSpotにWebhookを送信してみた

Clock Icon2024.12.13

Notionのデータベースオートメーションに「Webhookを送信する」機能が追加されたので、NotionからHubSpotへWebhookを送信して会社オブジェクトのプロパティを更新する処理を作ってみました。

処理の概要

  • Notionのデータベースオートメーションを使い、プロパティの更新をトリガーとしてWebhookを送信する。
  • Webhookの受信をトリガーとしてHubSpotのワークフローを実行し、会社オブジェクトのプロパティを更新する。

準備

HubSpotの会社オブジェクトに処理で更新されるプロパティを用意します。
ラベルはステータス(Notion)、内部名はnotion_statusとします。
スクリーンショット 2024-12-13 16.05.37
フィールドタイプは単行テキストとします。
(トリガー イベント プロパティーのデータ変数ではドロップダウン選択のデータ型を設定できず、ワークフローから更新できないため)
スクリーンショット 2024-12-13 16.41.26

HubSpotでWebhookイベントを作成する

HubSpotで会社ベースのワークフローを作成します。
登録トリガーに「Webhookが受信されたとき」を選択します。
スクリーンショット 2024-12-13 14.22.21
Webhookイベント名に「Notion Database automation」と入力し、「次へ >」を選択します。
スクリーンショット 2024-12-13 14.34.51
Webhook URLが発行されるのでコピーを選択します。
スクリーンショット 2024-12-13 14.46.50
テストイベントの待機状態になるので、NotionでWebhookを送信する設定を行います。

Notionでデータベースオートメーションを作成する

NotionでHubSpotの会社オブジェクトと連携させるためのデータベースを作成します。
2つのプロパティを追加します。

  • 会社レコードID
  • ステータス

会社レコードIDは種類をテキストとします。HubSpotの会社オブジェクトのレコードIDを入力するプロパティです。
ステータスは種類をセレクトとして、オプションに「未着手」、「進行中」、「完了」の3つの値を用意します。
スクリーンショット 2024-12-13 15.37.12
オートメーションを追加します。
「ステータスを編集」を条件としてトリガーを発火させます。
スクリーンショット 2024-12-13 17.50.34

Webhookを送信する新規アクションを追加します。
URLに先ほどコピーしたWebhook URLを入力します。
コンテンツのステータス会社レコードIDにチェックをつけて「作成」を選択します。
チェックをつけたコンテンツがWebhookイベントとして送信されます。
スクリーンショット 2024-12-13 15.00.20

テストイベントを送信してHubSpotのWebhookの設定を行う

テストイベントのWebhookを送信するためにNotionデータベースにページを追加して適当な会社レコードIDを入力します。
ステータスを「完了」に変更してWebhookを送信するオートメーションのトリガーを発火させます。
スクリーンショット 2024-12-13 15.42.14
送信されたWebhookをHubSpot側で受信するとWebhook設定画面で受信したテストイベントの内容を確認できます。
スクリーンショット 2024-12-13 15.19.33
data を展開して propertiesステータス会社レコードIDが含まれていることを確認し、「次へ >」を選択します。
スクリーンショット 2024-12-13 15.43.39
Webhookのプロパティーのデータのマッピングを行います。
ステータス会社レコードIDをマッピングします。
スクリーンショット 2024-12-13 15.49.30

  • 「ステータス」のサードパーティ プロパティー ラベルはname、HubSpotプロパティーラベルは['data']['properties']['ステータス']['select']['name']、データタイプはテキストとします。
  • 「会社レコードID」のサードパーティ プロパティー ラベルはcontent、HubSpotプロパティーラベルは['data']['properties']['会社レコードID']['rich_text']['0']['text']['content']、データタイプは数値とします。
    「次へ >」を選択します。

登録プロパティーを合わせます。
サードパーティ プロパティー ラベルは会社レコードIDである['data']['properties']['会社レコードID']['rich_text']['0']['text']['content']を選択します。
HubSpotプロパティーラベルはレコードIDを選択します。
スクリーンショット 2024-12-13 16.20.21
これで会社レコードIDに持つ会社レコードに対してワークフローが実行されるようになります。
Webhookイベントの作成が完了したので、「トリガーのセットアップを続行」を選択します。

HubSpotのワークフローを編集する

登録トリガーに会社に基づいたWebhookイベントとして、作成したWebhookイベントが表示されているのでイベント名を選択します。
スクリーンショット 2024-12-13 16.24.47
再登録の許可をONにして保存します。
スクリーンショット 2024-12-13 16.26.43
アクションを追加し、CRMの「レコードを編集」を選択します。
スクリーンショット 2024-12-13 17.07.48
編集するプロパティーにステータス(Notion)を選択します。
スクリーンショット 2024-12-13 17.11.31
「値を選択」を選択し、データ変数からトリガー イベント プロパティーの「Notion Database automation」を選択します。
スクリーンショット 2024-12-13 17.15.22
テキストプロパティーの['data']['properties']['ステータス']['select']['name']を選択します。
スクリーンショット 2024-12-13 17.18.05
アクションを保存します。
「確認と公開」を選択し、ワークフローをONにします。

動作確認

HubSpotに動作確認用の会社レコードを作成し、そのレコードIDを控えます。
スクリーンショット 2024-12-13 17.29.52
Notionのデータベースにページを追加し、会社レコードIDに控えたレコードIDを入力します。
ステータスを「未着手」に変更します。
スクリーンショット 2024-12-13 18.16.33
HubSpotの会社レコードのステータス(Notion)の値が「未着手」に更新されました。
スクリーンショット 2024-12-13 18.23.42
同様にNotionデータベースのページのステータスを「完了」に変更します。
スクリーンショット 2024-12-13 18.19.24
HubSpotの会社レコードのステータス(Notion)の値が「完了」に更新されました。
スクリーンショット 2024-12-13 18.25.29

まとめ

NotionのデータベースオートメーションにWebhook送信が追加されたことでシステム連携の幅が広がったと感じています。
今回はHubSpotと連携しましたが、他のシステムとの連携でも便利に使えるのではないかと思います。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.